; Music Of Marauder (1988) (Hewson) (Dave Rogers)
; Ripped by Megachur the 02/11/2006

	write "MARAUDER.BIN"

music_date_rip	equ &02b6
music_adr	equ &b222
first_theme	equ 0
last_theme	equ 0

	read "music_header_v1_0.asm"

;MARAUDSD.ASM   V 8.0   MARAUDER sound driver, AMSTRAD    J.Dave Rogers, 1988


;***********
SPECVERSION  EQU   0       ;0=AMSTRAD 1=SPEC

SOUNDCOD     EQU   music_begin	;32768      ;MACHINE CODE

;SOUNDATA     EQU   SOUNDCOD + 943  ;DATABLOCK ADDRESS
;**********
           
             NOLIST

ENVSINDEX    EQU       SOUNDATA+200
TUNESINDEX   EQU       ENVSINDEX+86

ENVCOUNTS    EQU 0
ENTCOUNTS    EQU 2
ENVPTR       EQU 4
ENTPTR       EQU 6
ENV0         EQU 8
ENT0         EQU 10
ENVADR       EQU 12
ENTADR       EQU 14

CHANACTIVE   EQU 16
MAINCOUNT    EQU 17
DATAPTR      EQU 18
CONPTR       EQU 20
PTRREFR      EQU 22
PITCHSHIFT   EQU 24
NOISEDIS     EQU 25
CH_ENABLE    EQU 26
INTERVAL     EQU 27
CURRENTNOTE  EQU 28
CHORDTOGGLE  EQU 29
CURRENTDUR   EQU 30
CURRENTBLOC  EQU 31

;             ORG  SOUNDCOD
;             WRITE "MARAUDSD.BIN"
START        DEFL $

;---------------------------------------
JUMPBLOCK:      JP PLAY
                JP SILENCE
;                JP TUNE48K
;SPEC48FLAG      DB 0
;
.init_music
;
BASICSTART:     LD E,1
                LD C,1
;--------
STARTACHAN:     CALL FINDBLOC    ;E=BLOC   C=CHAN   B=PRIORITY  HL=BLOCADR
                LD A,(HL)
                CP 9
                JR NC,NOCHANMARKER
                LD C,A
                INC HL
                LD A,(HL)
NOCHANMARKER:   CP 244
                LD B,10
                JR NZ,NOPRIMARKER
                INC HL
                LD B,(HL)
                INC HL
NOPRIMARKER     DEC C     ;FINDCHAN
                JR Z,TRY1
                DEC C
                JR Z,TRY2
                DEC C
                JR Z,TRY3

CHANALT:        LD A,(STORE2+CHANACTIVE)   ;1,2,1,2,....
                OR A
                JR Z,TRY2     ;ELSE 1:

TRY1:           LD DE,STORE1+CHANACTIVE
                LD A,(DE)
                LD C,A
                LD A,B
                SUB C
                RET C      ;pri too low
                XOR A
                LD (DE),A               ;chan off while reset
                LD (STORE1+INTERVAL),A
                LD (STORE1+PITCHSHIFT),A
                INC A
                LD (STORE1+MAINCOUNT),A
                LD (STORE1+DATAPTR),HL
                LD (STORE1+CONPTR),HL
                LD (STORE1+PTRREFR),HL
                LD A,B
                LD (DE),A
                RET

TRY2:           LD DE,STORE2+CHANACTIVE
                LD A,(DE)
                LD C,A
                LD A,B
                SUB C
                RET C
                XOR A
                LD (DE),A
                LD (STORE2+INTERVAL),A
                LD (STORE2+PITCHSHIFT),A
                INC A
                LD (STORE2+MAINCOUNT),A
                LD (STORE2+DATAPTR),HL
                LD (STORE2+CONPTR),HL
                LD (STORE2+PTRREFR),HL
                LD A,B
                LD (DE),A
                RET

TRY3:           LD DE,STORE3+CHANACTIVE
                LD A,(DE)
                LD C,A
                LD A,B
                SUB C
                RET C
                XOR A
                LD (DE),A
                LD (STORE3+INTERVAL),A
                LD (STORE3+PITCHSHIFT),A
                INC A
                LD (STORE3+MAINCOUNT),A
                LD (STORE3+DATAPTR),HL
                LD (STORE3+CONPTR),HL
                LD (STORE3+PTRREFR),HL
                LD A,B
                LD (DE),A
                RET

;------
;
.stop_music
;
SILENCE:        XOR A
                LD (STORE1+CHANACTIVE),A
                LD (STORE2+CHANACTIVE),A
                LD (STORE3+CHANACTIVE),A
                LD (NSEFLAG),A
                LD (BUFF+8),A
                LD (BUFF+9),A
                LD (BUFF+10),A
                LD A,1+2+4+8+16+32
                LD (BUFF+7),A

;********
IF SPECVERSION

ALL13REGS:      LD HL,BUFF+13
                LD E,13
                XOR A
                JP NEXTREG
ELSE

ALL13REGS:      LD HL,BUFF+13
                LD DE,#F40D      ;13
                XOR A
                JP NEXTREG
ENDIF
;********

FINDBLOC:       LD   A,E
                ADD  A,A
                ADD  A,TUNESINDEX AND #00FF
                LD   L,A
                ADC  A,TUNESINDEX AND #FF00 /256
                SUB  L
                LD   H,A
                LD   E,(HL)
                INC  HL
                LD   D,(HL)
                LD HL,SOUNDATA
                ADD HL,DE
                RET

FINDENV:        LD   A,E     ;must not corrupt hl
                ADD  A,A
                ADD  A,ENVSINDEX AND #00FF
                LD   E,A
                ADC  A,ENVSINDEX AND #FF00 / 256
                SUB  E
                LD   D,A

                LD  A,(DE)
                ADD A,SOUNDATA AND #00FF
                LD  C,A

                INC  DE
                LD  A,(DE)
                ADC A,SOUNDATA AND #FF00 / 256
                LD B,A
                RET

;---------EVERY 1/25 S-------------
;
.play_music
;
PLAY:
;           ld a,1                       ; added by Megachur
;		xor 1
;		ld (PLAY+1),a
;		ret z                        ; added by Megachur
                LD A,(STORE1+CHANACTIVE)
                OR A
                JR Z,C2
                LD  IX,STORE1
                LD IY,BUFF+8
                LD HL,(BUFF)
                LD (PITCHTEMP),HL
                LD HL,(STORE1+DATAPTR)
                CALL TESTCHAN
                LD (BUFF),HL

C2:             LD A,(STORE2+CHANACTIVE)
                OR A
                JR Z,C3
                LD  IX,STORE2
                LD IY,BUFF+9
                LD HL,(BUFF+2)
                LD (PITCHTEMP),HL
                LD HL,(STORE2+DATAPTR)
                CALL TESTCHAN
                LD (BUFF+2),HL

C3:             LD A,(STORE3+CHANACTIVE)
                OR A
                JR Z,CHORUS

                LD IX,STORE3
                LD IY,BUFF+10
                LD HL,(BUFF+4)
                LD (PITCHTEMP),HL
                LD HL,(STORE3+DATAPTR)
                CALL TESTCHAN
                JP NOCHORUS

CHORUS:         OR H    ;A ALWAYS 0 HERE
                OR L
                JR Z,NOCHORUS     ;PAUSES
                DEC HL
                DEC HL
                LD A,(BUFF+9)   ;CH3 VOL= CH2 VOL
                LD (BUFF+10),A
                LD A,(BUFF+7)   ;NO NOISE (C3 NOISEGATE COULD STILL BE OPEN)
                OR 32
                LD (BUFF+7),A

NOCHORUS:       LD (BUFF+4),HL

                CALL DOENSE

;*************
IF SPECVERSION

ALLREGIST:      XOR A
                LD HL,BUFF+10
                LD E,10
NEXTREG:        LD BC,65533
                OUT (C),E
                LD BC,49149
                LD A,(HL)      
                DEC HL
                OUT (C),A
                DEC E
                JP P,NEXTREG
                RET

ELSE

ALLREGIST:      XOR  A
                LD   HL,BUFF+10 ;10
                LD   DE,#F40A   ;10
NEXTREG:        LD   B,D
                OUT  (C),E
                LD   BC,63168   ;(#F6*256+%11000000)
                OUT  (C),C
                OUT  (C),A
                LD   B,D
                LD   C,(HL)
                DEC  HL
                OUT  (C),C
                LD   BC,63104   ;(#F6*256+%10000000)
                OUT  (C),C
                OUT  (C),A
                DEC  E
                JP   P,NEXTREG
                RET

ENDIF
;**********

;FOR EACH OF THE 3 CHANNELS:

TESTCHAN:       DEC  (IX+MAINCOUNT)
                JP NZ,DOENV_ENT

                LD A,20
                LD (DECI+1),A    ;INIT.STOPHANG

DECI            LD A,20
                DEC A
                LD (DECI+1),A
                RET Z

                LD   A,(HL)
                INC  HL
                LD   E,(HL)
                INC HL

SUBSELECT    OR   A
             JP   Z,DOPAUSE
             CP   9
             JR   C,STARTLOOP
             CP   101
             JP   C,NEWNOTE
             CP 228
             JP C,COMPNOTE
           CP 255
           JP Z,RETCONBLOC

           SUB 230
           JP  Z,NOISE
           DEC A

           DEC A
           JR  Z,QUICKOUT
           DEC A
           JR  Z,NEWENV
           DEC A
           JR  Z,NEWENT
           DEC A
           JR  Z,NEWENSE
           DEC A
           JP  Z,SETINTERVAL
           DEC A
           JR  Z,NEWKEY
           DEC A
           JR  Z,GONEWBLOC
           DEC A
           JR  Z,PREV_BLOC

   ;any other val=FOLLOW THROUGH=SAFETY NET

KILLCHAN:       LD (IX+CHANACTIVE),0
                LD (IY+0),0    ;CH VOL
                RET

QUICKOUT:       LD (IX+MAINCOUNT),1     ;TIME SHARER
                DEC HL
                LD (IX+DATAPTR),L
                LD (IX+DATAPTR+1),H
                LD HL,0
                RET

STARTLOOP:      PUSH HL
                LD C,A     ;C=CHAN
                CALL STARTACHAN
                POP HL    
                JP DECI

NOISE:          INC A          ;A ALWAYS 0 HERE
                LD (NSEFLAG),A
                LD   A,E
                LD   (BUFF+6),A
                JP   DECI

NEWKEY:         LD   (IX+PITCHSHIFT),E
                JP   DECI

NEWENT:         CALL FINDENV
                LD (IX+ENTADR),C
                LD (IX+ENTADR+1),B
                JP DECI

NEWENV:         CALL FINDENV
                LD (IX+ENVADR),C
                LD (IX+ENVADR+1),B
                JP DECI

NEWENSE:        CALL FINDENV
                LD (ENSSTORE+12),BC
                JP DECI

PREV_BLOC       LD E,(IX+CURRENTBLOC)
                DEC HL
GONEWBLOC:      LD   (IX+CONPTR+1),H
                LD   (IX+CONPTR),L
                LD (IX+CURRENTBLOC),E
                CALL FINDBLOC
                JP   DECI

RETCONBLOC      LD   H,(IX+CONPTR+1)
                LD   L,(IX+CONPTR)
                LD A,(HL)
                INC A     ;TEST 255
                JP NZ,DECI
                LD H,(IX+PTRREFR+1)
                LD L,(IX+PTRREFR)
                JP DECI

SETINTERVAL     LD (IX+INTERVAL),E
                JP DECI
;-----------------------------------------DO NOTES--------
COMPNOTE:       AND 127
                DEC HL
                LD E,(IX+CURRENTDUR)

NEWNOTE:        ADD  A,(IX+PITCHSHIFT)

;******
IF SPECVERSION
                SUB 12       ;HALVE FREQY IF SPECTRUM (AY CLOCKED AT 2 MHZ)
ENDIF
;******

DOPAUSE:        LD   (IX+MAINCOUNT),E
                LD   (IX+CURRENTDUR),E
                LD   (IX+CURRENTNOTE),A
                LD   (IX+DATAPTR+1),H
                LD   (IX+DATAPTR),L

PITCHTAB        EQU  SOUNDATA

                ADD  A,A
                ADD  A,PITCHTAB AND #00FF
                LD   L,A
                ADC  A,PITCHTAB AND #FF00 /256
                SUB  L
                LD   H,A
                LD   DE,PITCHTEMP
                LDI
                LDI

                LD (IY+0),0

                PUSH IX     ;RESTART ENV/ent
                POP  DE
                LD   HL,8
                ADD  HL,DE
                LDI
                LDI
                LDI
                LDI
                LDI
                LDI
                LDI
                LDI

                XOR A
                LD HL,NSEFLAG
                OR  (HL)
                LD (HL),0
                LD   L,(IX+NOISEDIS)
                JR   Z,GATING

NOISEON:        LD  HL,(ENSSTORE+ENVADR)
                LD  (ENSSTORE+ENVPTR),HL
                LD  HL,00
                LD  (ENSSTORE),HL

GATING:         LD   A,(BUFF+7)
                AND  (IX+CH_ENABLE)
                OR   L
                AND  32+16+8+4+2+1
                LD   (BUFF+7),A
;---------------------------------------------------

DOENV_ENT:      CALL ENGEN

                LD A,(IY+0)
                ADD A,C
                SUB  128
                LD   (IY+0),A

;-------------------
                LD HL,(PITCHTEMP)   ;PAUSE ?
                LD A,H
                OR L
                RET Z
                LD A,(IX+INTERVAL)  ;CHORD ?
                OR A
                JR NZ,DOCHORD
DOENT:          INC IX
                INC IX
                CALL ENGEN
                LD HL,(PITCHTEMP)
                LD B,0
IF SPECVERSION
                ADD  HL,BC
                ADD HL,BC
                LD   C,128
                SBC HL,BC
                SBC  HL,BC
ELSE
                ADD HL,BC
                LD C,128
                SBC HL,BC
ENDIF
                RET
;--------------------------------------
DOCHORD:        DEC (IX+CHORDTOGGLE)
                LD A,(IX+CURRENTNOTE)
                JR Z,FINDSETPITCH
                ADD (IX+INTERVAL)
                LD (IX+CHORDTOGGLE),1

;PITCHTAB        EQU  SOUNDATA
FINDSETPITCH:   ADD  A,A
                ADD  A,PITCHTAB AND #00FF
                LD   L,A
                ADC  A,PITCHTAB AND #FF00 /256
                SUB  L
                LD   H,A

                LD   E,(HL)
                INC HL
                LD  D,(HL)
                EX HL,DE
                RET
;-------------------
DOENSE:         LD IX,ENSSTORE
                CALL ENGEN

                LD HL, BUFF+6
                LD   A,(HL)
                ADD  A,C
                SUB  128
                LD   (HL),A
                CP 17
                RET C
NOISEOFF:       INC HL    ;HL=BUFF+7
                LD A,(HL)
                OR 32+16+8
                LD (HL),A
                RET
;--------------------------------------
ENGEN           PUSH IX
                POP  HL
                LD   D,(IX+ENVPTR+1)
                LD   E,(IX+ENVPTR)
                INC  (HL)
                LD   A,(DE)
                SUB  (HL)

                LD C,128     ;=0!
                RET  NZ
                LD   (HL),A
                INC DE
                LD  A,(DE)

                LD C,A

                INC  DE
                INC  HL
                INC  (HL)
                LD   A,(DE)
                SUB  (HL)
                RET  NZ
                LD   (HL),A
                INC  DE
                LD   A,(DE)
                INC  A
                JR   NZ,NEXTSECT
                LD   D,(IX+ENVADR+1)
                LD   E,(IX+ENVADR)
NEXTSECT:       LD   (IX+ENVPTR+1),D
                LD   (IX+ENVPTR),E
                RET

;---------------------

BUFF:     DW  00
          DW  00
          DW  00
          DB  0
          DB  32+16+8
          DB  0
          DB  0
          DB  0
          DB  1,1
          DB  12

PITCHTEMP:  DW 00

NSEFLAG:    DB 0

ENSSTORE: DW 00
          DW 10
          DW 00
          DW 04
          DW 00
          DW 18
          DW 00

;CHANNEL STORES

STORE1:   DW  00
          DW  00
          DW  00
          DW  00

          DW  00
          DW  00
          DW  00
          DW  00

          DB  0
          DB  0
          DW  00
          DW  00
          DW  00
          DB  0
          DB   8          ;NOISE DIS
          DB  32+16+4+2-4 ;CHAN ENABLE  (-4 'COS CHORUS=CH3 ALWAYS ON)
          DB  0
          DB  0
          DB  0
          DB  0
          DB  0

STORE2: DW  00
        DW  00
        DW  00
        DW  00

        DW  00
        DW  00
        DW  00
        DW  00

        DB  0
        DB  0
        DW  00
        DW 00
        DW  00
        DB  0
        DB  16
        DB  32+8+4+1-4
        DB  0
        DB  0
        DB  0
        DB  0
        DB  0

STORE3: DW  00
        DW  00
        DW  00
        DW  00

        DW  00
        DW  00
        DW  00
        DW  00

        DB  0
        DB  0
        DW  00
        DW 00
        DW  00
        DB  0
        DB  32
        DB  16+8+2+1
        DB  0
        DB  0
        DB  0
        DB  0
        DB  0
;---------------------48K SOUND----------------
;TUNE48K:

SPARE           DB 42

SOUNDATA
	db #00,#00
	dw #0ddb,#0d14,#0c58,#0ba7
 	dw #0aff,#0a61,#09cc,#093f
	dw #08bb,#083d,#07c7,#0757
	dw #06ee,#068a,#062c,#05d3
	dw #0580,#0531,#04e6,#04a0
	dw #045d,#041f,#03e3,#03ac
	dw #0377,#0345,#0316,#02ea
	dw #02c0,#0298,#0273,#0250
	dw #022f,#020f,#01f2,#01d6
	dw #01bb,#01a2,#018b,#0175
	dw #0160,#014c,#013a,#0128
	dw #0117,#0108,#00f9,#00eb
	dw #00de,#00d1,#00c6,#00ba
	dw #00b0,#00a6,#009d,#0094
	dw #008c,#0084,#007c,#0075
	dw #006f,#0069,#0063,#005d
	dw #0058,#0053,#004e,#004a
	dw #0046,#0042,#003e,#003b
	dw #0037,#0034,#0031,#002f
	dw #002c,#002a,#0027,#0025
	dw #0023,#0021,#001f,#001d
	dw #001c,#001a,#0019,#0017
	dw #0016,#0015,#0014,#0012
	dw #0011,#0010,#0010,#000f
	dw #000e,#000d
	db #d1,#00,#b6,#01,#ba,#01,#c4,#01
	db #cb,#01,#d2,#01,#e2,#01,#ef,#01
	db #fc,#01,#03,#02,#10,#02,#11,#02
	db #1b,#02,#25,#02,#26,#02,#30,#02
	db #3a,#02,#3b,#02,#3f,#02,#4c,#02
	db #56,#02,#63,#02,#6a,#02,#77,#02
	db #81,#02,#88,#02,#92,#02,#9f,#02
	db #a9,#02,#b6,#02,#b7,#02,#c1,#02
	db #ce,#02,#d2,#02,#d9,#02,#e3,#02
	db #e4,#02,#e5,#02,#ec,#02,#f6,#02
	db #fd,#02,#04,#03,#12,#00,#11,#00
	db #c1,#07,#12,#03,#8d,#03,#13,#04
	db #5e,#04,#78,#04,#b6,#04,#ec,#04
	db #ed,#04,#2d,#05,#2e,#05,#48,#05
	db #65,#05,#68,#05,#69,#05,#89,#05
	db #94,#05,#95,#05,#96,#05,#97,#05
	db #a4,#05,#d5,#05,#c3,#02,#c7,#02
	db #d4,#02,#de,#05,#26,#06,#64,#06
	db #67,#06,#6d,#06,#85,#06,#99,#06
	db #af,#06,#30,#07,#42,#07,#8d,#07
	db #9d,#07,#a8,#07,#b8,#07,#c1,#07
	db #c2,#07,#c3,#07,#c4,#07,#a4,#03
	db #a5,#03,#a6,#03,#c5,#07,#d3,#07
	db #d4,#07,#d5,#07,#e8,#07,#f3,#07
	db #06,#08,#12,#08,#1c,#08,#2c,#08
	db #3a,#08,#3b,#08,#49,#08,#5a,#08
	db #68,#08,#84,#08,#90,#08,#9e,#08
	db #aa,#08,#d6,#08,#f1,#08,#21,#09
	db #46,#09,#72,#09,#7a,#09,#9f,#09
	db #df,#09,#eb,#09,#f8,#09,#12,#0a
	db #c8,#80,#c8,#ff,#01,#84,#02,#01
	db #83,#01,#16,#7f,#0c,#ff,#01,#8b
	db #01,#c8,#80,#c8,#ff,#01,#8e,#01
	db #c8,#80,#c8,#ff,#01,#8e,#01,#02
	db #7f,#02,#08,#7f,#04,#0e,#7f,#05
	db #c8,#80,#c8,#ff,#01,#8e,#01,#01
	db #7f,#01,#04,#7f,#04,#c8,#80,#c8
	db #ff,#01,#8e,#01,#01,#7e,#04,#01
	db #7f,#01,#c8,#80,#c8,#ff,#01,#8f
	db #01,#c8,#80,#c8,#ff,#01,#8f,#01
	db #02,#80,#01,#01,#7e,#01,#03,#73
	db #01,#ff,#ff,#01,#08,#02,#01,#d0
	db #03,#c8,#80,#c8,#ff,#01,#d0,#02
	db #01,#6c,#06,#c8,#80,#c8,#ff,#ff
	db #01,#82,#01,#01,#7e,#02,#01,#82
	db #01,#ff,#01,#82,#01,#01,#7c,#01
	db #01,#82,#01,#ff,#ff,#02,#81,#01
	db #ff,#01,#8e,#01,#01,#7e,#02,#01
	db #7f,#01,#c8,#80,#c8,#ff,#01,#8c
	db #01,#02,#7f,#03,#c8,#80,#c8,#ff
	db #03,#81,#0c,#08,#7f,#03,#32,#7f
	db #09,#c8,#80,#c8,#ff,#01,#71,#01
	db #01,#8a,#01,#ff,#01,#8d,#01,#03
	db #7d,#01,#01,#7b,#01,#02,#7b,#01
	db #ff,#01,#8f,#01,#07,#7f,#0f,#c8
	db #80,#c8,#ff,#01,#8f,#01,#01,#7f
	db #0f,#ff,#01,#8f,#01,#02,#7f,#0f
	db #0f,#7f,#0f,#ff,#01,#8c,#01,#03
	db #7f,#03,#0b,#7f,#09,#c8,#80,#c8
	db #ff,#01,#8c,#01,#08,#7f,#0a,#c8
	db #80,#c8,#ff,#01,#83,#02,#01,#81
	db #05,#09,#7f,#0b,#c8,#80,#c8,#ff
	db #ff,#01,#8b,#01,#01,#7e,#01,#c8
	db #80,#c8,#ff,#01,#84,#02,#01,#82
	db #01,#09,#7f,#0a,#c8,#80,#c8,#ff
	db #01,#7a,#c8,#ff,#01,#88,#01,#c8
	db #80,#c8,#ff,#01,#81,#02,#01,#7f
	db #03,#01,#81,#01,#ff,#ff,#ff,#01
	db #7d,#01,#01,#81,#01,#ff,#01,#c6
	db #01,#01,#3a,#01,#01,#85,#01,#ff
	db #03,#81,#0a,#03,#7f,#0a,#ff,#05
	db #80,#01,#01,#e3,#01,#ff,#01,#8f
	db #01,#02,#7f,#07,#01,#78,#01,#ff
	db #01,#01,#02,#02,#01,#02,#02,#03
	db #03,#e9,#13,#ea,#0e,#ed,#00,#ec
	db #0f,#3b,#a1,#ec,#00,#ee,#04,#ef
	db #ef,#ef,#ef,#ef,#ef,#ef,#ef,#ef
	db #ef,#ef,#ef,#ec,#13,#ea,#00,#e9
	db #07,#ed,#05,#ee,#0a,#ed,#07,#ef
	db #ed,#0c,#ef,#ed,#05,#ef,#ed,#07
	db #ef,#ed,#00,#ee,#04,#ef,#ee,#13
	db #ee,#04,#ec,#00,#ee,#13,#ed,#03
	db #ec,#13,#e9,#07,#ed,#11,#ee,#0a
	db #ed,#13,#ef,#ed,#14,#ef,#ed,#16
	db #ef,#03,#28,#ed,#00,#ee,#04,#ef
	db #ef,#ef,#ef,#ef,#ef,#ef,#ef,#ef
	db #ef,#ef,#ed,#05,#ee,#0a,#ed,#07
	db #ef,#ed,#0c,#ee,#14,#03,#28,#ee
	db #06,#ee,#0f,#ef,#ee,#0c,#ff,#e9
	db #13,#ea,#21,#ed,#0c,#ec,#13,#00
	db #15,#4d,#fc,#ec,#0f,#e9,#01,#3c
	db #e0,#ee,#15,#00,#8c,#e9,#11,#ec
	db #0c,#ea,#21,#ee,#05,#e9,#11,#ef
	db #ec,#18,#e9,#03,#ed,#05,#ee,#0b
	db #ed,#07,#ee,#0e,#ed,#0c,#ee,#0b
	db #ed,#05,#ee,#0e,#ed,#07,#ef,#ec
	db #18,#ed,#00,#30,#1c,#00,#54,#30
	db #1c,#00,#54,#ed,#0c,#ee,#14,#30
	db #1c,#ee,#15,#ee,#14,#03,#0f,#ec
	db #00,#ea,#0d,#e9,#03,#ed,#05,#ee
	db #0b,#ed,#07,#ee,#0e,#ed,#08,#ee
	db #0b,#ed,#0a,#ee,#0e,#e9,#11,#ed
	db #0c,#00,#1c,#03,#06,#00,#54,#ec
	db #0c,#00,#e0,#00,#70,#ee,#08,#ef
	db #ed,#05,#ee,#0b,#ed,#07,#ee,#0e
	db #ed,#18,#ee,#13,#fe,#e9,#13,#ea
	db #0e,#ed,#0c,#ec,#0f,#00,#2a,#3f
	db #e7,#e9,#02,#ec,#00,#ee,#06,#ef
	db #ef,#ef,#ef,#ef,#ef,#ef,#ef,#ef
	db #ef,#ef,#ec,#0c,#ea,#0d,#e9,#03
	db #e6,#01,#35,#1c,#e9,#02,#ef,#ed
	db #13,#ef,#ed,#00,#ef,#ed,#11,#ef
	db #ed,#13,#ef,#ed,#0c,#ef,#ef,#ef
	db #ed,#14,#ef,#ed,#13,#ef,#ed,#0c
	db #ef,#ed,#14,#ef,#ed,#0c,#ef,#ff
	db #ea,#0a,#e9,#07,#18,#23,#00,#07
	db #e9,#16,#9a,#00,#07,#e9,#07,#ea
	db #0a,#1b,#23,#00,#07,#ea,#0d,#9e
	db #9f,#ff,#30,#0e,#2b,#1c,#33,#07
	db #00,#07,#b5,#b3,#b5,#b3,#35,#0e
	db #37,#07,#b8,#37,#0e,#33,#1c,#33
	db #07,#b3,#b2,#b3,#b2,#ae,#2b,#0e
	db #30,#07,#b2,#30,#0e,#2b,#1c,#33
	db #07,#00,#07,#b5,#b3,#b5,#b3,#35
	db #0e,#37,#07,#b8,#37,#1c,#e9,#01
	db #b3,#b2,#2e,#0e,#30,#07,#b2,#ff
	db #e9,#04,#eb,#10,#e6,#01,#30,#1c
	db #e9,#06,#e6,#06,#33,#07,#e6,#0e
	db #b0,#e6,#06,#ba,#e6,#0e,#c8,#e9
	db #04,#eb,#10,#e6,#06,#3c,#0e,#e9
	db #06,#e6,#06,#3f,#07,#e6,#0e,#bc
	db #e6,#06,#b0,#e6,#01,#b3,#e6,#06
	db #bc,#e6,#01,#00,#07,#ff,#ff,#00
	db #0e,#37,#07,#b8,#3a,#0e,#b8,#b7
	db #b8,#33,#07,#00,#07,#b7,#b5,#b3
	db #b5,#b7,#b5,#33,#0e,#b2,#b3,#30
	db #07,#00,#07,#bb,#b0,#ae,#b0,#ad
	db #b0,#ac,#b0,#2c,#0e,#b0,#2b,#07
	db #00,#07,#ab,#ac,#ae,#ac,#ab,#a9
	db #ab,#ac,#ab,#ac,#27,#0e,#ac,#2b
	db #15,#00,#07,#2b,#0e,#a9,#ff,#ff
	db #ec,#0c,#18,#07,#00,#07,#96,#00
	db #07,#18,#0e,#ec,#00,#ea,#0d,#1b
	db #07,#9a,#18,#2a,#ec,#00,#1e,#07
	db #9f,#ff,#e9,#02,#ec,#00,#33,#07
	db #00,#07,#b2,#00,#07,#33,#0e,#ec
	db #13,#e9,#03,#30,#07,#b2,#b3,#00
	db #07,#ba,#00,#07,#3a,#1c,#ff,#00
	db #70,#ff,#ff,#e9,#02,#ec,#00,#33
	db #07,#00,#07,#b2,#00,#07,#33,#0e
	db #ec,#13,#e9,#03,#30,#07,#b2,#b3
	db #00,#07,#ba,#00,#07,#b7,#b5,#b3
	db #00,#07,#ff,#eb,#00,#e9,#04,#e6
	db #01,#00,#15,#00,#07,#ff,#ff,#ff
	db #ff,#e9,#08,#ea,#0d,#ec,#00,#24
	db #38,#a0,#9d,#9d,#9f,#ff,#e9,#05
	db #ea,#00,#ec,#0c,#30,#07,#b0,#b0
	db #ae,#32,#0e,#b3,#30,#07,#ab,#ac
	db #a9,#ab,#a7,#a9,#a6,#a6,#a6,#a6
	db #a4,#26,#0e,#a9,#26,#07,#a6,#a6
	db #a4,#26,#0e,#a9,#2b,#07,#a7,#a9
	db #a6,#a7,#a4,#a6,#00,#07,#ff,#ec
	db #00,#ea,#14,#e9,#15,#37,#54,#ff
	db #01,#02,#1a,#03,#28,#e9,#28,#ea
	db #21,#eb,#27,#ec,#0c,#ed,#0c,#ee
	db #1c,#ef,#ef,#ef,#ef,#ed,#0a,#ef
	db #ed,#0c,#ef,#ef,#ef,#ef,#ef,#ef
	db #ed,#0a,#ef,#ed,#0c,#ef,#ea,#1f
	db #e9,#02,#ec,#00,#18,#40,#ea,#21
	db #e9,#19,#03,#23,#ed,#0c,#02,#25
	db #ec,#0c,#ee,#20,#ed,#18,#ee,#22
	db #03,#26,#e9,#06,#ec,#13,#ef,#ff
	db #e9,#19,#ea,#21,#eb,#27,#ec,#00
	db #ed,#0c,#00,#78,#ee,#1d,#1f,#28
	db #ee,#24,#ee,#1d,#1f,#28,#24,#08
	db #1f,#10,#24,#08,#1f,#10,#24,#08
	db #9f,#ee,#1e,#ee,#24,#00,#80,#ee
	db #1d,#1f,#28,#ee,#24,#ee,#1d,#2b
	db #28,#ee,#24,#00,#08,#ee,#1e,#ea
	db #1f,#e9,#02,#0c,#7c,#fe,#ed,#0c
	db #ff,#0c,#20,#8c,#8c,#8c,#ff,#1f
	db #08,#a4,#9f,#a4,#27,#20,#1f,#08
	db #a4,#9f,#a4,#27,#10,#27,#08,#26
	db #04,#a7,#26,#08,#24,#18,#ff,#22
	db #10,#a2,#20,#08,#22,#10,#20,#08
	db #22,#10,#a2,#20,#08,#a2,#27,#10
	db #24,#40,#ff,#18,#04,#8c,#98,#8c
	db #e6,#06,#96,#98,#96,#93,#98,#8c
	db #98,#8c,#e6,#06,#96,#98,#96,#93
	db #ff,#24,#04,#9f,#a4,#27,#14,#24
	db #04,#9f,#a4,#27,#08,#27,#04,#a6
	db #a7,#24,#10,#9f,#00,#20,#24,#04
	db #a2,#a4,#26,#14,#24,#04,#a2,#a4
	db #26,#08,#27,#04,#a6,#a7,#24,#40
	db #24,#04,#9f,#a4,#27,#0c,#26,#04
	db #a7,#a4,#9f,#a4,#27,#08,#2b,#04
	db #a9,#ab,#29,#10,#24,#30,#26,#04
	db #a2,#a6,#29,#0c,#27,#04,#a9,#a6
	db #a2,#a6,#29,#08,#27,#04,#a6,#24
	db #10,#1d,#34,#2b,#08,#29,#04,#a7
	db #2b,#08,#29,#04,#a7,#ae,#ab,#a9
	db #a7,#a9,#a7,#a9,#ab,#29,#08,#27
	db #04,#24,#34,#22,#04,#9d,#a2,#26
	db #08,#22,#04,#a6,#29,#08,#26,#04
	db #a9,#2e,#08,#29,#04,#a7,#a6,#24
	db #40,#ff,#3c,#04,#b0,#bc,#bc,#b0
	db #bc,#bc,#b0,#bc,#bc,#b0,#bc,#bc
	db #bc,#b0,#bc,#ff,#24,#18,#a7,#29
	db #10,#2b,#18,#a9,#27,#10,#26,#0c
	db #a2,#1d,#08,#22,#0c,#9d,#1a,#08
	db #29,#04,#a7,#a4,#9f,#a4,#a2,#9f
	db #9b,#a2,#9f,#9d,#9b,#9d,#9b,#98
	db #93,#24,#18,#a7,#26,#10,#29,#18
	db #a7,#26,#10,#26,#0c,#a9,#2e,#08
	db #32,#0c,#ae,#32,#08,#35,#04,#b3
	db #b0,#ab,#b0,#ae,#ab,#a7,#ae,#ab
	db #a9,#a7,#a9,#a7,#a4,#9f,#ff,#e9
	db #1d,#ed,#0c,#ec,#0c,#ee,#21,#ef
	db #ed,#0a,#ef,#ed,#11,#ef,#ff,#e9
	db #26,#ea,#00,#30,#38,#e9,#19,#ea
	db #21,#ff,#ea,#21,#e9,#28,#ed,#0c
	db #ee,#1f,#ef,#ed,#0a,#ef,#ed,#05
	db #ef,#ff,#e9,#02,#ea,#21,#ed,#18
	db #ee,#20,#ff,#ff,#fe,#fe,#fe,#04
	db #f4,#07,#e9,#1b,#ea,#15,#eb,#26
	db #e6,#01,#44,#7e,#fe,#fe,#fe,#01
	db #f4,#09,#02,#32,#03,#33,#e8,#e9
	db #1a,#ea,#14,#eb,#01,#e6,#01,#32
	db #63,#fe,#02,#f4,#09,#e8,#e9,#1b
	db #ea,#14,#35,#63,#fe,#03,#f4,#09
	db #e8,#e9,#05,#ea,#14,#eb,#17,#4f
	db #04,#e9,#1b,#e6,#01,#25,#55,#fe
	db #01,#f4,#04,#03,#35,#e9,#20,#ea
	db #00,#16,#02,#fe,#03,#f4,#04,#e9
	db #20,#ea,#0d,#17,#02,#fe,#04,#f4
	db #07,#e9,#05,#ea,#0b,#eb,#00,#e6
	db #01,#00,#03,#1f,#16,#fe,#03,#f4
	db #07,#e9,#06,#ea,#0b,#eb,#07,#e6
	db #01,#3a,#09,#fe,#fe,#03,#f4,#07
	db #e9,#06,#ea,#25,#eb,#24,#e6,#06
	db #59,#05,#fe,#02,#f4,#07,#01,#3b
	db #e9,#18,#ea,#13,#eb,#0e,#e8,#e6
	db #07,#11,#19,#fe,#01,#f4,#07,#e9
	db #18,#ea,#13,#eb,#0e,#e6,#0e,#0c
	db #19,#fe,#01,#f4,#07,#e9,#18,#ea
	db #13,#eb,#0e,#e6,#0e,#0c,#05,#eb
	db #10,#e6,#01,#0d,#1d,#eb,#26,#e9
	db #20,#e6,#01,#00,#01,#fe,#03,#f4
	db #06,#e9,#01,#ea,#18,#48,#01,#54
	db #02,#fe,#01,#f4,#09,#02,#3f,#e9
	db #1b,#ea,#0b,#4a,#08,#ca,#ca,#fe
	db #02,#f4,#09,#e9,#1b,#ea,#0b,#3e
	db #08,#be,#be,#fe,#01,#02,#41,#03
	db #42,#e9,#12,#ea,#0d,#ec,#00,#ed
	db #0c,#ee,#43,#ef,#ef,#ef,#ee,#46
	db #ef,#e9,#02,#ee,#49,#25,#30,#ef
	db #ed,#17,#ea,#00,#36,#06,#b7,#b8
	db #b9,#ba,#bb,#bc,#bd,#01,#40,#ff
	db #e9,#1d,#ea,#21,#ec,#0c,#ee,#44
	db #ef,#e9,#1d,#ec,#00,#ee,#47,#e9
	db #1b,#ed,#18,#ee,#4a,#ed,#24,#ef
	db #00,#c0,#ff,#e9,#1e,#ea,#00,#ee
	db #45,#ef,#ed,#0c,#ef,#ef,#ed,#00
	db #ee,#48,#ef,#ec,#00,#e9,#1d,#ed
	db #00,#ee,#4b,#ed,#07,#ef,#ed,#05
	db #ef,#ed,#07,#ef,#ed,#0c,#ef,#ed
	db #07,#ef,#ed,#05,#ef,#ed,#07,#ef
	db #00,#c0,#ff,#1a,#0c,#1a,#06,#1a
	db #12,#1a,#06,#9a,#21,#0c,#21,#06
	db #21,#12,#21,#06,#a1,#1f,#0c,#1f
	db #06,#1f,#12,#1f,#06,#9f,#21,#0c
	db #21,#06,#21,#12,#21,#06,#a1,#ff
	db #ec,#0c,#32,#0c,#36,#06,#39,#12
	db #3e,#0c,#bd,#b9,#b4,#b1,#b2,#37
	db #06,#3b,#12,#3e,#0c,#3d,#30,#45
	db #0c,#42,#06,#3e,#12,#39,#0c,#bd
	db #c0,#bd,#b9,#be,#bb,#3e,#06,#43
	db #12,#45,#30,#ff,#ec,#03,#2a,#30
	db #b1,#af,#b1,#ff,#1a,#0c,#1a,#06
	db #1a,#12,#1a,#06,#9a,#23,#0c,#23
	db #06,#23,#12,#23,#06,#a3,#1f,#0c
	db #1f,#06,#1f,#12,#1f,#06,#9f,#21
	db #0c,#21,#06,#21,#12,#21,#06,#a1
	db #ff,#3e,#0c,#39,#06,#3e,#0c,#40
	db #06,#42,#0c,#c0,#be,#bb,#b6,#b7
	db #3b,#06,#3e,#0c,#3b,#06,#be,#c3
	db #c5,#be,#c0,#c2,#40,#0c,#be,#3e
	db #06,#b9,#b6,#b2,#45,#0c,#c2,#3e
	db #06,#bb,#b6,#b2,#3e,#0c,#c2,#3e
	db #06,#bb,#b7,#bb,#be,#43,#0c,#3e
	db #06,#40,#12,#3e,#06,#bd,#39,#0e
	db #ff,#ec,#03,#2a,#30,#ec,#04,#b2
	db #ec,#03,#af,#b1,#ff,#1a,#60,#21
	db #54,#1e,#0c,#1f,#54,#23,#0c,#21
	db #30,#ff,#ec,#04,#26,#30,#ec,#03
	db #aa,#ec,#04,#a1,#ec,#03,#a5,#ec
	db #04,#ab,#ec,#03,#af,#ec,#03,#b1
	db #ec,#04,#ad,#ff,#26,#06,#b2,#af
	db #a6,#b2,#b2,#af,#b2,#a6,#b2,#b4
	db #a6,#b2,#b2,#a6,#b2,#ff,#01,#e9
	db #10,#ea,#0f,#0e,#03,#ef,#03,#e9
	db #00

;---------
FINISH          DEFL $
                LIST
;                CLOSE
;START           DEFL START
;FINISH          DEFL FINISH
LENGTH          DEFL FINISH-START

.game_name
	db "Marauder",0
.game_year
	db "1988",0
.game_publisher
	db "Hewson",0
.music_author
	db "Dave Rogers",0
.music_comment
	db "MARAUDSD.ASM V 8.0 MARAUDER sound driver, AMSTRAD J.Dave Rogers, 1988",0

	read "music_end_v1_0.asm"

